Cloud computing enables access to shared configurable system resources that can be provisioned over a network, such as the Internet, to provide computing services to users. The computing resources may include physical or virtual components within a computer system that are used to provide a computing service such as central processing units (CPUs), random access memory and virtual memory, storage devices, subsystems, clusters, virtual machines, and network throughput. Some forms of cloud computing include infrastructure as a service (IaaS), software as a service (SaaS), and platform as a service (PaaS). In IaaS, a cloud provider hosts infrastructure components traditionally present in an on-premises data processing center such as servers, storage and networking hardware, to provide computing services. In PaaS, a cloud provider offers, in addition to the underlying infrastructure components, operating systems and middleware to provide computing services. In SaaS, a cloud provider offers the cloud computing infrastructure as well as applications for users. In order for a cloud provider to offer computing services to a user, resources of the cloud provider must be configured and deployed according to the cloud computing specifications of the user.